1. Field of the Invention
The present invention relates to a processor system that incorporates multitasking and, particularly, to a performance measurement method for a processor system that incorporates multitasking.
2. Description of Related Art
A processor system, which is incorporated in transportation equipment such as motor vehicles and airplanes and communication devices such as mobile phones and switchboards, is called an embedded system. The embedded system generally provides a multitasking environment for the purposes of shortening a processing time, ensuring real-time execution, improving productivity through the representation of program software as components, and so on. The multitasking environment indicates an environment that looks as if a plurality of programs are executed in parallel by way of periodically switching the program which is divided into units that are executable in parallel or by switching the program to be executed upon the occurrence of a certain event. The task means a program unit which is executed in parallel in the multitasking environment. The multitasking is implemented by a CPU and a system program which carries out scheduling of a task that is executed by the CPU.
There is a known processor system that is capable of acquiring performance information such as task execution time. The acquired performance information is used for debugging of a user program which is executed in a processor system. For example, in a processor system which is disclosed in Japanese Unexamined Patent Application Publication No. 5-151004, a task ID which is preallocated to each task is written to a particular register upon switching of an execution task in a CPU. Further, a counter is incremented in synchronization with rewriting of the particular register, thereby measuring an execution time of each task.
Recently, as embedded devices to be controlled by an embedded system become more functional and complex, a user program to be executed in the embedded system is increasing in size. In this background, it is required to acquire performance information such as an execution time in units of task groups rather than in units of individual tasks which form a user program. For example, if the number of tasks which form a user program is large, a single function is implemented by a plurality of tasks in most cases. Therefore, it is sometimes necessary to evaluate the performance information of a task group as a whole for implementing the function rather than the performance information of each task. Further, in many cases, a user program is developed by division of labor, and it is required to acquire performance information in units of task groups which are developed by the same development team and evaluate the acquired performance information. In the following description, a task group refers to a collection of tasks to which one or a plurality of tasks belong(s).
The processor system as disclosed in Japanese Unexamined Patent Application Publication No. 5-151004 acquires performance information in units of individual tasks. It thus requires an additional process such as integration of the performance information which has been acquired in units of tasks in order to evaluate the performance in units of task groups.
As described above, the known processor system that incorporates multitasking acquires task performance information in units of individual tasks and is thus not suited to acquire performance information in units of task groups.